package com.cicc.springboot.common.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.cicc.springboot.entity.SrmPurchaseOrderEntity;
import com.cicc.springboot.entity.OrderItemEntity;
import lombok.Data;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * Author: 张月鹿
 */

@Data
public class OrderWithItemsDTO {



    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    private String itemNo;


    private String itemType;

    /**
     * 行状态（0.待确认1.已确认2.已拒绝）
     */

    private String itemState;

    /**
     * 物料编码
     */

    private String materialCode;

    /**
     * 物料描述
     */

    private String materialDesc;

    /**
     * 单位
     */

    private String unit;

    /**
     * 工厂
     */

    private String factory;

    /**
     * 库存地点
     */

    private String stockLocation;

    /**
     * 税码
     */

    private String taxCode;

    /**
     * 含税否（0.否 1.是）
     */

    private String taxIncludedOrNot;

    /**
     * 税率
     */

    private Double taxRate;

    /**
     * 采购方要求的数量
     */

    private Double number;

    /**
     * 总价
     */

    private Double total;

    /**
     * 采购方要求的单价（不含税）
     */

    private Double price;

    /**
     * 不含税价
     */

    private Double totalNoTax;

    /**
     * 税额
     */

    private Double taxAmount;

    /**
     * 行项目文本
     */

    private String itemText;

    /**
     * 收货完成
     */

    private String isTake;

    /**
     * 免费项目
     */

    private String isFree;

    /**
     * 基于收货发票校验
     */

    private String isCheck;

    /**
     * 创建人
     */

    private String createBy;

    /**
     * 修改人
     */

    private String updateBy;

    /**
     * 创建时间
     */

    private Timestamp createTime;

    /**
     * 更新时间
     */

    private Timestamp updateTime;

    /**
     * 订单号
     */

    private String orderCode;

    /**
     * 订单会计年度
     */

    private String orderYear;

    /**
     * 租户ID
     */

    private Long tenantId;

    /**
     * 删除标识
     */

    private String deleteFlag;

    /**
     * 物料规格
     */

    private String materialSpec;

    /**
     * 物料组
     */

    private String materialOrg;

    /**
     * 物料组描述
     */

    private String materialOrgDesc;

    /**
     * 采购方要求的交货日期
     */

    private Date deliverDate;

    /**
     * 库存类型
     */

    private String stockType;


    /**
     * 是否已创建退货单
     */

    private Integer returnCreated;

    /**
     * 计划行号
     */

    private String planItem;

    /**
     * 收货数量
     */

    private Double receivedQuantity;

    /**
     * 在途数量
     */

    private Double transitQuantity;

    /**
     * 发货数量
     */

    private Double shippedQuantity;

    /**
     * 已叫料数量
     */

    private Double askQuantity;

    /**
     * 最后送货日期
     */

    private Date lastSendDate;

    /**
     * 合同编号
     */

    private String contractCode;

    /**
     * 合同名称
     */

    private String contractName;

    /**
     * 叫料在途数量
     */

    private Double askTransitQuantity;

    /**
     * 叫料实收数量
     */

    private Double askReceivedQuantity;

    /**
     * 订单执行周期
     */

    private String madePeriod;

    /**
     * 退货数量
     */

    private Double returnQuantity;

    /**
     * 关联租户id
     */

    private Long refTenantId;

    /**
     * 变更状态( 0.未变更 1.已变更)
     */

    private String changeState;


    /**
     * 卸货点
     */

    private String unloadingPoint;

    /**
     * 供应商确认的数量
     */

    private Double confirmedQuantity;

    /**
     * 供应商确认的交货日期
     */

    private Date confirmedDeliveryDate;

    /**
     * 供应商确认的单价（不含税）
     */

    private Double confirmedPriceWithoutTax;

    /**
     * 供应商确认的单价（含税）
     */

    private Double confirmedPriceWithTax;

    /**
     * 采购方要求的单价（含税）
     */

    private Double requestedPriceWithTax;

    /**
     * 工厂描述
     */

    private String factoryDesc;

    /**
     * 卸货点描述
     */

    private String unloadingPointDesc;

    /**
     * 订单类型
     */

    private String orderType;

    /**
     * 采购组编码
     */

    private String purchaseGroup;

    /**
     * 公司
     */

    private String companyCode;

    /**
     * 公司名称
     */

    private String companyName;

    /**
     * 供应商
     */

    private String supplierCode;

    /**
     * 供应商名称
     */

    private String supplierName;


    /**
     * 币别
     */

    private String orderCurrency;

    /**
     * 抬头文本
     */

    private String headText;

    /**
     * 订单日期
     */

    private Date orderDate;


    /**
     * 采购组织编码
     */
    private String purchaseOrg;



    /**
     * 付款条件
     */
    private String payType;

    /**
     * 修改类型(U表示更新，I表示插入，E表示删除单个字段，D表示删除整行或整个单据)
     */
    private String changeType;

    /**
     * 国际贸易条款
     */
    private String interTradeCode;

    /**
     * 1.全部确认;2.部分确认;3.已拒绝;4.待确认;5.草稿
     */
    private String state;



    /**
     * 对应的销售订单同步状态描述
     */
    private String soSyncStatus;

    /**
     * 平台订单类型
     */
    private String platformOrderType;

    /**
     * 供应商发布ASN(0不发布，1发布）
     */
    private String publishAsn;

    /**
     * 是否需要确认 0否 1是
     */
    private String needConfirm;

    /**
     * 订单总价（含税）
     */
    private Double totalPriceWithTax;

    /**
     * 订单总价（不含税）
     */
    private Double totalPriceWithoutTax;

    /**
     * 订单来源
     */
    private String source;

    /**
     * 确认时间
     */
    private Date confirmTime;

    /**
     * 附件id
     */
    private String batchId;

    /**
     * 采购组描述
     */
    private String purchaseGroupDesc;

    /**
     * 采购组织描述
     */
    private String purchaseOrgDesc;

    /**
     * 采购订单类型描述
     */
    private String orderTypeDesc;

    /**
     * 退货标识
     */
    private String isReturn;


    private String UnitOfMeasurement;

    private String PackagingSpecifications;

}
